// package com.yc.cloud.openai.controller;

// import org.springframework.validation.annotation.Validated;
// import org.springframework.web.bind.annotation.GetMapping;
// import org.springframework.web.bind.annotation.PostMapping;
// import org.springframework.web.bind.annotation.RequestBody;
// import org.springframework.web.bind.annotation.RequestMapping;
// import org.springframework.web.bind.annotation.RestController;

// import com.yc.cloud.basic.api.ResponseResult;
// import com.yc.cloud.basic.exception.Asserts;
// import com.yc.cloud.openai.dto.request.coze.CozeOauthTokenParam;
// import com.yc.cloud.openai.enums.CozeGrantTypeEnums;
// import com.yc.cloud.openai.service.CozeService;
// import com.yc.cloud.openai.vo.CozeOauthTokenVo;

// import cn.hutool.core.util.StrUtil;
// import io.swagger.annotations.Api;
// import io.swagger.annotations.ApiOperation;
// import lombok.RequiredArgsConstructor;
// import lombok.extern.slf4j.Slf4j;

// @RestController
// @RequestMapping("/coze")
// @Api(tags = "Coze接口")
// @Slf4j
// @RequiredArgsConstructor
// public class CozeController {

//     private final CozeService cozeService;

//     @PostMapping("/oauth/token")
//     @ApiOperation("获取AccessToken")
//     public ResponseResult<CozeOauthTokenVo> oauthToken(@Validated @RequestBody CozeOauthTokenParam param) {
//         log.info("获取AccessToken请求参数: {}", param);
//         if (CozeGrantTypeEnums.AUTHORIZATION_CODE.getCode().equals(param.getGrantType())) {
//             if (StrUtil.isEmpty(param.getCode())) {
//                 Asserts.fail("授权码不能为空");
//             }
//             // 检查code格式
//             if (!param.getCode().startsWith("code_")) {
//                 log.error("授权码格式错误: {}", param.getCode());
//                 Asserts.fail("授权码格式错误");
//             }
//         }
//         if (CozeGrantTypeEnums.REFRESH_TOKEN.getCode().equals(param.getGrantType())) {
//             if (StrUtil.isEmpty(param.getRefreshToken())) {
//                 Asserts.fail("刷新令牌不能为空");
//             }
//         }
//         // 获取token
//         var token = cozeService.oauthToken(param);
//         return ResponseResult.success(token);
//     }

//     @GetMapping("/oauth/authorize")
//     @ApiOperation("获取Coze授权链接")
//     public ResponseResult<String> getAuthUrl() {
//         String url = cozeService.getAuthUrl();
//         return ResponseResult.success(url);
//     }

// //    @PostMapping("/oauth/jwt")
// //    @ApiOperation("JWT授权获取token")
// //    public ResponseResult<CozeOauthTokenVo> jwtToken(@Validated @RequestBody CozeJwtTokenParam param) {
// //        log.info("JWT授权获取token请求参数: {}", param);
// //        var token = cozeService.jwtToken(param);
// //        return ResponseResult.success(token);
// //    }

//     @GetMapping("/robot/{robotId}")
//     @ApiOperation("获取机器人信息")
//     public ResponseResult<CozeRobotInfoVo> getRobotInfo(
//         @PathVariable @ApiParam(value = "机器人ID", required = true) String robotId) {
//         log.info("获取机器人信息, robotId: {}", robotId);
//         var robotInfo = cozeService.getRobotInfo(robotId);
//         return ResponseResult.success(robotInfo);
//     }
// }
